/*
    NAME: mspobj.h

    PURPOSE:
        This file contains object definitions for objects used for commands
        and queries.  (See mspcmd.h and mspquery.h). These objects are
        identifiers to filters, endpoints or the MSPP Service.


  Copyright (c) 2004  NMS Communications Corp.  All rights reserved.
*/


/************************************************************************\

                                MSPP OBJECTS

\************************************************************************/

#define         MSP_SYSTEM                      0xFFFFF0



/* Endpoint Filters */

/* Note: IN stands for source endpoint, OUT for sink endpoint,
  and FDX for full duplex (both in and out) endpoint */

#define         MSP_ENDPOINT_DS0                0x000311
#define         MSP_ENDPOINT_PKTMEDIA           0x000318
#define         MSP_ENDPOINT_MONITOR            0x000319
#define         MSP_ENDPOINT_RTPIN              0x000405
#define         MSP_ENDPOINT_RTPOUT             0x000406
#define         MSP_ENDPOINT_RTPFDX             0x000407
#define         MSP_ENDPOINT_UDPIN              0x000402
#define         MSP_ENDPOINT_UDPOUT             0x000403
#define         MSP_ENDPOINT_UDPFDX             0x000404
#define         MSP_ENDPOINT_T38UDP             0x000411
#define         MSP_ENDPOINT_TPKT               0x005001
//#define         MSP_ENDPOINT_RTPFDX_AUDIO       0x6000
#define         MSP_ENDPOINT_RTPFDX_VIDEO       0x6001
#define         MSP_ENDPOINT_RTPFDX_VIDEO_V6    0x6007
#define         MSP_ENDPOINT_MUX                0x000330   // should be in sync with 
                                                           // runtime/arm/inc/FilterManagerAPI.h

#define         MSP_ENDPOINT_RTP_VIDEO_MPEG4        0x005010
#define         MSP_ENDPOINT_RTPFDX_VIDEO_MPEG4     0x005015
#define         MSP_ENDPOINT_RTPIN_VIDEO_MPEG4      0x005020
#define         MSP_ENDPOINT_RTPOUT_VIDEO_MPEG4     0x005019
#define         MSP_ENDPOINT_RTP_G711_NO_DISASSY    0x005012
#define         MSP_ENDPOINT_RTPFDX_G711_NO_DISASSY 0x005016
// AMR specific endpoint processing has been folded back into the MSP_ENDPOINT_RTPFDX
//#define         MSP_ENDPOINT_RTP_AMR             0x005014
//#define         MSP_ENDPOINT_RTPFDX_AMR          0x005017

#define         MSP_ENDPOINT_RTPFDX_VIDEO_H263      0x005100
#define         MSP_ENDPOINT_RTPIN_VIDEO_H263       0x005104
#define         MSP_ENDPOINT_RTPOUT_VIDEO_H263      0x005105

/*New types for Mpeg4 video IPv6*/
#define         MSP_ENDPOINT_RTP_VIDEO_MPEG4_V6     0x005021
#define         MSP_ENDPOINT_RTPFDX_VIDEO_MPEG4_V6  0x005022
#define         MSP_ENDPOINT_RTPIN_VIDEO_MPEG4_V6   0x005023
#define         MSP_ENDPOINT_RTPOUT_VIDEO_MPEG4_V6  0x005024

/*New types for H263 video IPv6*/
#define         MSP_ENDPOINT_RTPFDX_VIDEO_H263_V6   0x005106
#define         MSP_ENDPOINT_RTPIN_VIDEO_H263_V6    0x005107
#define         MSP_ENDPOINT_RTPOUT_VIDEO_H263_V6   0x005108

/* New filters types to support IPv6 */
#define         MSP_ENDPOINT_RTPIN_V6           0x00040B
#define         MSP_ENDPOINT_RTPOUT_V6          0x000409
#define         MSP_ENDPOINT_RTPFDX_V6          0x000408
#define         MSP_ENDPOINT_UDPIN_V6           0x00040C
#define         MSP_ENDPOINT_UDPOUT_V6          0x00040D
#define         MSP_ENDPOINT_UDPFDX_V6          0x00040E

/* H.264 Video Endpoints, IPv4 and IPv6 */
#define         MSP_ENDPOINT_RTPFDX_VIDEO_H264      0x005110
#define         MSP_ENDPOINT_RTPIN_VIDEO_H264       0x005111
#define         MSP_ENDPOINT_RTPOUT_VIDEO_H264      0x005112
#define         MSP_ENDPOINT_RTPFDX_VIDEO_H264_V6   0x005113
#define         MSP_ENDPOINT_RTPIN_VIDEO_H264_V6    0x005114
#define         MSP_ENDPOINT_RTPOUT_VIDEO_H264_V6   0x005115

/* Channel Filters */

#define         MSP_FILTER_JITTER                  0x00040A
#define         MSP_FILTER_RTP_ASSEMBLER           0x000408
#define         MSP_FILTER_RTP_DISASSEMBLER        0x000409
#define         MSP_FILTER_JITTER_VIDEO_MPEG4      0x005011
#define         MSP_FILTER_JITTER_G711_ANYSIZE     0x005013
#define         MSP_FILTER_DEMUX_INTERFACE         0x005018

#define         MSP_FILTER_JITTER_VIDEO_H263       0x005102
#define         MSP_FILTER_JITTER_VIDEO_H264       0x005116


// DSP Filters
#define         MSP_FILTER_DSP_PROXY               0x00030E

// DSP Proxy Filter Sub IDs
#define         MSP_FILTER_G711_ENCODER            0x400000
#define         MSP_FILTER_G711_DECODER            0x400100
#define         MSP_FILTER_GSM_FR_ENCODER          0x410000
#define         MSP_FILTER_GSM_FR_DECODER          0x410100
#define         MSP_FILTER_GSM_MS_ENCODER          0x420000
#define         MSP_FILTER_GSM_MS_DECODER          0x420100
#define         MSP_FILTER_G723_ENCODER            0x430000
#define         MSP_FILTER_G723_DECODER            0x430100
#define         MSP_FILTER_G729A_ENCODER           0x440000
#define         MSP_FILTER_G729A_DECODER           0x440100
#define         MSP_FILTER_FAX_RELAY               0x450000
#define         MSP_FILTER_G726_ENCODER            0x460000
#define         MSP_FILTER_G726_DECODER            0x460100
#define         MSP_FILTER_G728_ENCODER            0x470000
#define         MSP_FILTER_G728_DECODER            0x470100
#define         MSP_FILTER_G729E_ENCODER           0x480000
#define         MSP_FILTER_G729E_DECODER           0x480100
#define         MSP_FILTER_SX96_ENCODER            0x490000
#define         MSP_FILTER_SX96_DECODER            0x490100
#define         MSP_FILTER_GSM_EFR_ENCODER         0x4A0000
#define         MSP_FILTER_GSM_EFR_DECODER         0x4A0100
#define         MSP_FILTER_AMR_ENCODER             0x4B0000
#define         MSP_FILTER_AMR_DECODER             0x4B0100
#define         MSP_FILTER_EVRC_ENCODER            0x4C0000
#define         MSP_FILTER_EVRC_DECODER            0x4C0100
#define         MSP_FILTER_ILBC_20_ENCODER         0x500000
#define         MSP_FILTER_ILBC_20_DECODER         0x500100
#define         MSP_FILTER_ILBC_30_ENCODER         0x510000
#define         MSP_FILTER_ILBC_30_DECODER         0x510100

// MUX Subfilters
#define MUX_EP_MUX_SUBTYPE      0x110000
#define MUX_EP_DEMUX_SUBTYPE    0x110100

// DSP Proxy Filter Sub ID Function Masks
#define         MSP_FCN_ATTRIB_RFC2833          0x000200

#define         MSP_FILTER_BRIDGE               0x00040B
#define         MSP_FILTER_PASSTHRU             0x000500

#define         MSP_FILTER_RTP_SWITCH           0x000410


/* DSP Loopback Filters */
#define         MSP_FILTER_LB_G723              0x4F0A00
#define         MSP_FILTER_LB_G723_FUSION       0x4F0B00

